<?php

include_once('Client_RK2_saveConsumptionForecast.php');
include_once('Client_RK2_saveConsumptionForecastResponse.php');
include_once('Client_RK2_ParseException.php');
include_once('Client_RK2_saveConsumptionPlan.php');
include_once('Client_RK2_saveConsumptionPlanResponse.php');
include_once('Client_RK2_saveLoadProfileShare.php');
include_once('Client_RK2_saveLoadProfileShareResponse.php');
include_once('Client_RK2_saveLoadProfile.php');
include_once('Client_RK2_saveLoadProfileResponse.php');
include_once('Client_RK2_saveMeteredData.php');
include_once('Client_RK2_saveMeteredDataResponse.php');


/**
 * 
 */
class Client_RK2_T2RK2 extends SoapClient
{

  /**
   * 
   * @var array $classmap The defined classes
   * @access private
   */
  private static $classmap = array(
    'saveConsumptionForecast' => 'Client_RK2_saveConsumptionForecast',
    'saveConsumptionForecastResponse' => 'Client_RK2_saveConsumptionForecastResponse',
    'ParseException' => 'Client_RK2_ParseException',
    'saveConsumptionPlan' => 'Client_RK2_saveConsumptionPlan',
    'saveConsumptionPlanResponse' => 'Client_RK2_saveConsumptionPlanResponse',
    'saveLoadProfileShare' => 'Client_RK2_saveLoadProfileShare',
    'saveLoadProfileShareResponse' => 'Client_RK2_saveLoadProfileShareResponse',
    'saveLoadProfile' => 'Client_RK2_saveLoadProfile',
    'saveLoadProfileResponse' => 'Client_RK2_saveLoadProfileResponse',
    'saveMeteredData' => 'Client_RK2_saveMeteredData',
    'saveMeteredDataResponse' => 'Client_RK2_saveMeteredDataResponse');

  /**
   * 
   * @param array $config A array of config values
   * @param string $wsdl The wsdl file to use
   * @access public
   */
  public function __construct(array $options = array(), $wsdl = 'http://ats.cs.ut.ee:8080/Ruritania_Krado_v1.0/T2RK2?wsdl')
  {
    foreach(self::$classmap as $key => $value)
    {
      if(!isset($options['classmap'][$key]))
      {
        $options['classmap'][$key] = $value;
      }
    }
    
    parent::__construct($wsdl, $options);
  }

  /**
   * 
   * @param Client_RK2_saveConsumptionForecast $parameters
   * @access public
   */
  public function saveConsumptionForecast($parameters)
  {
    return $this->__soapCall('saveConsumptionForecast', array($parameters));
  }

  /**
   * 
   * @param Client_RK2_saveConsumptionPlan $parameters
   * @access public
   */
  public function saveConsumptionPlan($parameters)
  {
    return $this->__soapCall('saveConsumptionPlan', array($parameters));
  }

  /**
   * 
   * @param Client_RK2_saveMeteredData $parameters
   * @access public
   */
  public function saveMeteredData($parameters)
  {
    return $this->__soapCall('saveMeteredData', array($parameters));
  }

  /**
   * 
   * @param Client_RK2_saveLoadProfile $parameters
   * @access public
   */
  public function saveLoadProfile($parameters)
  {
    return $this->__soapCall('saveLoadProfile', array($parameters));
  }

  /**
   * 
   * @param Client_RK2_saveLoadProfileShare $parameters
   * @access public
   */
  public function saveLoadProfileShare($parameters)
  {
    return $this->__soapCall('saveLoadProfileShare', array($parameters));
  }

}
